package com.tinymall.mapper;

import com.tinymall.common.pojo.entity.Coupon;
import com.tinymall.common.pojo.vo.CouponVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author ：X.B
 * @date ：Created in  2022/6/27 20:18
 * @description : 商品持久层
 * @modified By：X.B
 * @version: 1
 */

@Repository
public interface ShopCouponMapper {
    //商家添加优惠券
    int addShopCoupon(Coupon coupon);

    //根据商家id查询商家名字
    String getShopNameByShopId(Long shopId);

    //商家根据优惠券标题查询本店优惠券(模糊查询)
    List<CouponVO> GetShopCoupon(@Param("couponTitle") String couponTitle,
                                 @Param("shopId") Long shopId);


    //商家删除所有优惠券
    int deleteCoupon(Long shopId);

    //商家根据优惠券单个id删除对应优惠券
    int deleteCouponByCouponId(Long couponId);

    //商家根据多个id删除多个优惠券
    int deleteCouponByIds(Long... ids);


    //当优惠券过期后,修改优惠券状态为3
    int updateCouponStatus(@Param("couponId") Long couponId,
                           @Param("couponStatus") Long couponStatus);

    //查看本店优惠券信息
    List<CouponVO> getCouponInfoByShopId(Long shopId);

    //商家通过id修改优惠券信息
    void updateCouponByShop(Coupon coupon);
    //根据优惠券id查询优惠券信息
    CouponVO getCouponInfoByCouponId(Long couponId);

    //通过多个id查询优惠券信息
    List<CouponVO> getCouponsByCouponIds(Long[] couponId);


}